﻿Imports System.Data
Imports System.Data.SqlClient
Public Class frmActualizarEmpleado

    Private Sub frmActualizarEmpleado_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'TODO: esta línea de código carga datos en la tabla 'EsperanzaDBDataSet.SP_ListarEmpleado' Puede moverla o quitarla según sea necesario.
        Me.SP_ListarEmpleadoTableAdapter.Fill(Me.EsperanzaDBDataSet.SP_ListarEmpleado)
        'TODO: esta línea de código carga datos en la tabla 'EsperanzaDBDataSet.SP_ListarCargo' Puede moverla o quitarla según sea necesario.
        Me.SP_ListarCargoTableAdapter.Fill(Me.EsperanzaDBDataSet.SP_ListarCargo)
        'TODO: esta línea de código carga datos en la tabla 'EsperanzaDBDataSet.SP_ListarEstado' Puede moverla o quitarla según sea necesario.
        Me.SP_ListarEstadoTableAdapter.Fill(Me.EsperanzaDBDataSet.SP_ListarEstado)
        Me.cboCargo.Enabled = False
        Me.cboEstado.Enabled = False
    End Sub

    Private Sub btnCerrar_Click(sender As Object, e As EventArgs) Handles btnCerrar.Click
        Me.Close()
    End Sub

    Private Sub LlenarDatos()
        If varConexion.State = ConnectionState.Open Then
            varConexion.Close()
        End If
        Try
            varConexion.Open()
            Dim cmd As New SqlCommand("SP_MostrarEmpleado", varConexion)
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.Add("@IdEmpleado", SqlDbType.Int).Value = Me.cboBuscarEmpleado.EditValue

            Dim reader As SqlDataReader
            reader = cmd.ExecuteReader
            If reader.Read = True Then

                Me.txtNombre.Text = reader.Item("Nombres")
                Me.txtApellido.Text = reader.Item("Apellidos")
                Me.txtDireccion.Text = reader.Item("Direccion")
                Me.cboCargo.EditValue = reader.Item("IdCargo")
                Me.dtpFechaInicio.Text = reader.Item("FechaIngreso")
                Me.cboEstado.EditValue = reader.Item("IdEstado")
            End If
            varConexion.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Private Sub cboBuscarEmpleado_EditValueChanged(sender As Object, e As EventArgs) Handles cboBuscarEmpleado.EditValueChanged
        Me.cboCargo.Enabled = True
        Me.cboEstado.Enabled = True
        LlenarDatos()
    End Sub

    Private Sub ActualizarDatos()
        If varConexion.State = ConnectionState.Open Then
            varConexion.Close()
        End If

        Try
            varConexion.Open()
            Dim sql As New SqlCommand("SP_ActualizarEmpleado", varConexion)
            sql.CommandType = CommandType.StoredProcedure

            Me.SP_ListarEmpleadoTableAdapter.SP_ActualizarEmpleado(cboBuscarEmpleado.EditValue, txtNombre.Text, txtApellido.Text, txtDireccion.Text, cboEstado.EditValue, dtpFechaInicio.Text, cboCargo.EditValue)

            MessageBox.Show("Ha modificado correctamente sus datos", varTitulo, MessageBoxButtons.OK, MessageBoxIcon.Information)

        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Private Sub btnActualizar_Click(sender As Object, e As EventArgs) Handles btnActualizar.Click
        ActualizarDatos()
        Me.Close()
    End Sub
End Class